﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Collections.Generic;
using System.ComponentModel;

namespace CarBloke
{
    public class VehicleStats
    {
        public VehicleStats() { }

        public VehicleStats(Guid vehicleID)
        {
            VehicleID = vehicleID;

            FuelEfficiency = new List<DateValue<Double>>();
            FuelEfficiencyMonthlyAverage = new List<DateValue<Double>>();
            CostMonthlyTotal = new List<DateValue<Double>>();
            Cost = new List<DateValue<Double>>();
            Odometer = new List<DateValue<Double>>();
            OdometerMonthlyTotal = new List<DateValue<Double>>();

            MostRecentFuelEfficiency = Double.NaN;
            MostRecentFuelEfficiencyDate = DateTime.MinValue;
            AverageFuelEfficiency = Double.NaN;
            DistanceSinceOilChange = Double.NaN;
        }

        public Guid VehicleID { get; set; }

        public List<DateValue<Double>> FuelEfficiency { get; set; }

        public List<DateValue<Double>> FuelEfficiencyMonthlyAverage { get; set; }        

        public List<DateValue<Double>> Cost { get; set; }

        public List<DateValue<Double>> CostMonthlyTotal { get; set; }

        public List<DateValue<Double>> Odometer { get; set; }

        public List<DateValue<Double>> OdometerMonthlyTotal { get; set; }

        public Double MostRecentFuelEfficiency { get; set; }

        public DateTime MostRecentFuelEfficiencyDate { get; set; }

        public Double AverageFuelEfficiency { get; set; }

        public Double DistanceSinceOilChange { get; set; }
    }
}
